.\" Copyright (c) 2006 Daniele Lacamera
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.

.TH PEPSAL 1 "July 25, 2006" "PEPSaL Performance Enhancing Proxy"
.SH NAME
pepsal \- Performance Enhancing Proxy for Satellite Links
.SH SYNOPSIS
.B pepsal
[ 
.B \-p   
.I portnum  
] 
[ 
.B \-d  
] 
[ 
.B \-v  
] 
[ 
.B \-h  
] 
[ 
.B \-a 
.I Address
] 
[ 
.B \-q   
.I  Queuenum
]
[
.B \-s
.I SNAT address
] 
.br
.SH DESCRIPTION
A
\fBPEPSaL\fP 
Is a Performance Enhancing Proxy for Satellite links.
It realizes a typical RFC3135 "splitting" Tcp PEP, using the Linux
netfilter package.

A couple of rules must be added via
.B iptables (8)
in order to redirect all the TCP segments to a local port.

Moreover, it uses the new NFQUEUE target to spoof the syn packets incoming
from the clients. See the example iptables script for the default configuration.


.SH OPTIONS
.TP
.B \-d
Daemon mode: run pepsal in background
.TP
.B \-s "\fISNAT Address\fP"
Specify the SNAT address to use. By default, use the packet source address.
.TP
.B \-q "\fIQueuenum\fP"
specify the netfilter queue to be used to spoof SYN packets incoming from the client network.
The default value is "0".
.TP
.B \-a "\fIAddress\fP"
Use the specified Address to bind tcp local socket (default: INADDR_ANY)
.TP
.B \-p "\fIPort\fP"
Use the specified port to bind tcp local socket (default: 5000)
.TP
.B \-h 
get a brief help
.TP
.B \-v
verbose mode. Useful for debugging.
.TP
.B \-l "\fILogfile\fP"
Enable logging to local file information about proxies.
.TP
.B \-c "\fIMax_conn\fP"
Set maximum number of simultaneous proxy connections (default: 2112, min: 128, max: 4096)
.TP
.B \-t "\fILifetime\fP"
Set maximum lifetime for proxy connections (default: 5 * 3600 seconds = 5 hours)
.TP
.B \-g "\fGarbageCollectorInterval\fP"
Set time interval between two consecutive run of the garbage collector that terminate closed/expired proxyes.
.TP
.B \-V
show version and exit.
.TP

.SH BUGS
None ;-)

.SH SEE ALSO
.BR iptables (8),
.BR libipq (3),
.br
.SH AUTHORS 
PEPSaL is a project by Daniele Lacamera <root@danielinux.net>. Version "2" improvements added by: Dan Kruchinin <dkruchinin@google.com>.
.br
Idea and Design: Carlo Caini <ccaini@deis.unibo.it>, Rosario Firrincieli <rfirrincieli@arces.unibo.it> and Daniele Lacamera <root@danielinux.net>
.br
Development effort and large scale testing environment by Sergio Ammirata <sergio.ammirata@wialan.com>
Thanks to: Wojtek Sawasciuk for bugfixes and patches


